Software-defined networks (such as OPENFLOW networks) often include switches that direct network traffic from one computing device to another based on a set of flow entries managed by a remote controller. For example, a switch may receive a data packet from a device (such as a server or another switch) within an OPENFLOW network. Upon receiving the data packet, the switch may search a set of flow entries managed by a remote controller for a flow entry that indicates how to handle the data packet. During this search, the switch may identify a flow entry that applies to the data packet and determine how to handle the data packet based on the flow entry.
However, some traditional software-defined networks may have certain limitations and/or shortcomings when interfacing with non-software-defined networks (such as Multiprotocol Label Switching (MPLS) networks). For example, a switch may include some ports dedicated to an OPENFLOW network and other ports dedicated to an MPLS network. In this example, the switch may receive a data packet from a device within the OPEN FLOW network. This data packet may be destined for a device within the MPLS network. Unfortunately, the switch may be unable (or unaware of how) to handle this data packet without additional information about the identity and/or protocol of the MPLS network.
Additionally or alternatively, the switch may receive a data packet from a device within the MPLS network. This data packet may be destined for a device within the OPENFLOW network. Unfortunately, the remote controller that manages the set of flow entries may be unable to control the egress port through which this data packet enters the OPEN FLOW network from the MPLS network.
As such, the instant disclosure identifies and addresses a need for improved systems and methods for interfacing software-defined networks with non-software-defined networks.